/**
 * 
 */
package br.org.bertol.mestrado.engine.optimisation.entity;

import java.util.ArrayList;
import java.util.Random;

import br.org.bertol.mestrado.engine.Objective;

/**
 * @author Gabriel Bertol Pinheiro
 */
public class Path extends AbstractUnit<Integer> {

    /***/
    private transient Random fator = new Random(System.nanoTime());

    public Path(final Objective... objectives) {
        super(null, objectives);
    }

    @SuppressWarnings("unchecked")
    @Override
    public Object clone() throws CloneNotSupportedException {
        final Path clone = (Path) super.clone();

        clone.setRoute((ArrayList<Integer>) this.getRoute().clone());

        clone.height = height.clone();

        return clone;
    }

    /**
     * @return Objeto
     */
    public final Random getFator() {
        return fator;
    }

    /**
     * @param factor
     *            Objetor
     */
    public final void setFator(final Random factor) {
        this.fator = factor;
    }

    @Override
    public void update() {

    }
}
